<template>
	<view class="index-cproundpage">
		<nav-header title=" " showback="true" backiconwhite="true" navBackcolor="transparent"></nav-header>
		<view class="index-cproundpage-bg">
			<image src="../../../static/img/index/CP/cp-bg.png" mode=""></image>
		</view>
		<view class="index-cproundpage-round">
			<image src="../../../static/img/index/CP/load.webp" mode=""></image>
			<view class="index-cproundpage-round-cover">
				<view class="index-cproundpage-round-cover-item"
					:style="'left:'+positionList[index].left+';top:'+positionList[index].top"
					v-for="(item,index) in imageList">
					<image src="../../../static/img/demo1.png" mode=""></image>
				</view>
			</view>
		</view>
	</view>
	</view>
</template>

<script>
	//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
	import navHeader from '../../../components/nav-header/nav-header.vue'
	export default {
		// 组件名称
		name: 'demo',
		// 组件参数 接收来自父组件的数据
		props: {},
		// 局部注册的组件,import引入的组件需要注入到对象中才能使用
		components: {
			navHeader
		},
		// 组件状态值
		data() {
			return {
				positionList: [{
						left: '150rpx',
						top: '120rpx'
					},
					{
						left: '250rpx',
						top: '590rpx'
					},
					{
						left: '540rpx',
						top: '290rpx'
					},
					{
						left: '160rpx',
						top: '300rpx'
					},
					{
						left: '560rpx',
						top: '120rpx'
					},
					{
						left: '250rpx',
						top: '120rpx'
					},
					{
						left: '450rpx',
						top: '520rpx'
					},
					{
						left: '450rpx',
						top: '420rpx'
					},
					{
						left: '550rpx',
						top: '520rpx'
					},
					{
						left: '450rpx',
						top: '250rpx'
					}

				],
				imageList: ['../../../static/img/demo.png', '../../../static/img/demo.png', '../../../static/img/demo.png',
					'../../../static/img/demo.png', '../../../static/img/demo.png', '../../../static/img/demo.png',
					'../../../static/img/demo.png', '../../../static/img/demo.png',
				]
			}
		},
		// 计算属性
		computed: {},
		// 侦听器
		watch: {},
		// 组件方法
		methods: {
			init() {
				const query = uni.createSelectorQuery().in(this);
				let flashCount = 2;
				let doclist = query.selectAll('.index-cproundpage-round-cover-item')
				let indexlength = this.imageList.length
				let index = 0
				for (let i = 0; i < flashCount.length; i++) {
					// doclist[i].style.animate({
					// 	name: fadeinout,
					// 	delay: 0 s,
					// 	duration: 4 s,
					// 	direction: alternate,
					// 	iteration - count: infinite
					// })
				}
				index = index + flashCount
				let init = setInterval(() => {
					for (let s = index; s < flashCount.length; s++) {
						// doclist[s].animate({
						// 	name: fadeinout,
						// 	delay: 0 s,
						// 	duration: 4 s,
						// 	direction: alternate,
						// 	iteration - count: infinite
						// })
					}
					index += flashCount;
				}, 3990)
			},
			countDownJumpPage() {
				let that = this;
				setTimeout(() => {
					this.$Router.replace({
						path: '/pages/index/CP/CP',
					})
				}, 5000)
			}
		},
		// 以下是生命周期钩子   注：没用到的钩子请自行删除
		/**
		 * 在实例初始化之后，组件属性计算之前，如data属性等
		 */
		beforeCreate() {},
		/**
		 * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
		 */
		created() {

		},
		/**
		 * 在挂载开始之前被调用：相关的 render 函数首次被调用。
		 */
		beforeMount() {},
		/**
		 * el 被新创建的 vm.$ el 替换，并挂载到实例上去之后调用该钩子。
		 * 如果 root 实例挂载了一个文档内元素，当 mounted 被调用时 vm.$ el 也在文档内。
		 */
		mounted() {
			// this.init();
			this.countDownJumpPage()
		},
		/**
		 * 数据更新时调用，发生在虚拟 DOM 重新渲染和打补丁之前。
		 * 你可以在这个钩子中进一步地更改状态，这不会触发附加的重渲染过程。
		 */
		beforeUpdate() {},
		/**
		 * 由于数据更改导致的虚拟 DOM 重新渲染和打补丁，在这之后会调用该钩子。
		 * 当这个钩子被调用时，组件 DOM 已经更新，所以你现在可以执行依赖于 DOM 的操作。
		 */
		updated() {},
		/**
		 * keep-alive 组件激活时调用。 仅针对keep-alive 组件有效
		 */
		activated() {},
		/**
		 * keep-alive 组件停用时调用。 仅针对keep-alive 组件有效
		 */
		deactivated() {},
		/**
		 * 实例销毁之前调用。在这一步，实例仍然完全可用。
		 */
		beforeDestroy() {},
		/**
		 * Vue 实例销毁后调用。调用后，Vue 实例指示的所有东西都会解绑定，
		 * 所有的事件监听器会被移除，所有的子实例也会被销毁。
		 */
		destroyed() {}
	}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<!--使用了scoped属性之后，父组件的style样式将不会渗透到子组件中，-->
<!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响，-->
<style scoped lang="scss">
	.index-cproundpage {
		position: relative;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;

		/deep/.nav-header {
			width: 100%;
			position: absolute;
			margin-top: 84rpx;
		}

		&-bg {
			height: 100%;
			width: 100%;

			image {
				width: 100%;
				height: 100%;
			}
		}

		&-round {
			position: absolute;
			width: 750rpx;
			height: 750rpx;
			top: 50%;
			margin-top: -375rpx;
			background: rgba(255, 255, 255, 0.04);
			border-radius: 50%;

			image {
				width: 100%;
				height: 100%;
			}

			&-cover {
				position: absolute;
				top: 0;
				left: 0;

				@keyframes fadeinout {
					0% {
						opacity: 0;
						transform: scale(0.1);
					}

					50% {
						opacity: 1;
						transform: scale(1.3);
						display: block;
					}

					100% {
						opacity: 0;
						transform: scale(0);
					}
				}

				&-item:nth-of-type(3n-1) {
					width: 80rpx;
					height: 80rpx;
				}

				&-item:nth-of-type(3n-2) {
					width: 60rpx;
					height: 60rpx;
				}

				&-item:nth-of-type(3n) {
					width: 48rpx;
					height: 48rpx;
				}

				&-item {
					opacity: 0;
					transform: scale(1.3);
					border-radius: 50%;
					position: absolute;
					overflow: hidden;
					animation-name: fadeinout;
					animation-delay: 0s;
					animation-duration: 4s;
					animation-direction: alternate;
					animation-iteration-count: infinite
				}
			}
		}


	}
</style>
